๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ(DDD)๋ก ๋น์ฆ๋์ค ๋ก์ง์ ํ์ ํ๊ณ , ์ฝ๋ ํ์ง์ ๋์ด๋ฉฐ, ๊ธ๋ก๋ฒ ํ์ ์ ๊ฐํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค. ์ค์ฉ์ ์ธ ์์์ ํต์ฐฐ๋ ฅ์ ๋ด์ ๊ฐ์ด๋์ ๋๋ค.
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ: ๊ธ๋ก๋ฒ ์ฑ๊ณต์ ์ํ ๋น์ฆ๋์ค ๋ก์ง ๊ตฌ์ฑ
์ค๋๋ ์ ์ํธ ์ฐ๊ฒฐ๋ ์ธ์์์ ๊ธฐ์ ์ ๊ธ๋ก๋ฒ ๊ท๋ชจ๋ก ์ด์๋๋ฉฐ, ์ ๊ตํ ์ํํธ์จ์ด ์๋ฃจ์ ์ ์๊ตฌํฉ๋๋ค. ์ด๋ฌํ ์์คํ ์ ๋ณต์ก์ฑ์ ์ข ์ข ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ํ ๊ตฌ์กฐํ๋ ์ ๊ทผ ๋ฐฉ์์ ํ์๋ก ํ๋ฉฐ, ๋ฐ๋ก ์ด ์ง์ ์์ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ(DDD)๊ฐ ๋น์ ๋ฐํฉ๋๋ค. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ DDD์ ํต์ฌ ์์น๊ณผ ์ด๋ฅผ ๋น์ฆ๋์ค ๋ก์ง ๊ตฌ์ฑ, ์ฝ๋ ํ์ง ํฅ์, ๊ตญ์ ํ ๊ฐ ํ์ ์ด์ง์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ํ๊ตฌํ ๊ฒ์ ๋๋ค.
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ์ดํดํ๊ธฐ
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ๋ ์ํํธ์จ์ด๊ฐ ๋ํ๋ด๋ ์ค์ ์ฃผ์ ์์ญ์ธ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ์ด์ ์ ๋ง์ถ๋ ์ํํธ์จ์ด ์ค๊ณ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. ์ด๋ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ๋ํ ๊น์ ์ดํด๋ฅผ ์ฐ์ ์ํ๊ณ , ์ด ์ง์์ ํ์ฉํ์ฌ ์ํํธ์จ์ด ์ค๊ณ ๋ฐ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ์๋ดํฉ๋๋ค. ํต์ฌ ์์ด๋์ด๋ ๊ฐ๋ฐ์์ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ ๊ฐ์ ๊ณต์ ๋๊ณ ์ ๋น์ฟผํฐ์คํ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ฉ์ธ ์์ฒด๋ฅผ ์ํํธ์จ์ด๋ก ๋ชจ๋ธ๋งํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๊ณต์ ๋ ์ดํด๋ ํ๋ก์ ํธ์ ๊ธฐ์ ์ ์ธก๋ฉด๊ณผ ๋น์ฆ๋์ค ์ธก๋ฉด ๊ฐ์ ๊ฒฉ์ฐจ๋ฅผ ํด์ํ๊ณ , ์คํด๋ฅผ ์ค์ด๋ฉฐ, ์ํํธ์จ์ด๊ฐ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์ ํํ๊ฒ ๋ฐ์ํ๋๋ก ๋ณด์ฅํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
DDD๋ ํน์ ๊ธฐ์ ์ด๋ ํ๋ ์์ํฌ๊ฐ ์๋๋๋ค. ๊ทธ๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ฉ๋ ๋ ๋ ์ ์ง๋ณด์ ๊ฐ๋ฅํ๊ณ , ์ ์ ๊ฐ๋ฅํ๋ฉฐ, ๊ฒฌ๊ณ ํ ์ํํธ์จ์ด๋ก ์ด์ด์ง ์ ์๋ ์ฒ ํ์ด์ ์์น ๋ฐ ์ค์ฒ์ ์งํฉ์ ๋๋ค.
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ์ ํต์ฌ ๊ฐ๋
DDD๋ฅผ ๋ท๋ฐ์นจํ๋ ๋ช ๊ฐ์ง ํต์ฌ ๊ฐ๋ ์ด ์์ต๋๋ค. ์ด๋ฅผ ์ดํดํ๋ ๊ฒ์ ์ด ์ ๊ทผ ๋ฐฉ์์ ํจ๊ณผ์ ์ผ๋ก ๊ตฌํํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
1. ์ ๋น์ฟผํฐ์ค ์ธ์ด
์ ๋น์ฟผํฐ์ค ์ธ์ด๋ ๊ฐ๋ฐ์์ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ ๊ฐ์ ๊ณต์ ๋ ์ธ์ด์ ๋๋ค. ์ด๋ DDD์ ํต์ฌ์ ์ธ ์ธก๋ฉด์ ๋๋ค. ๋๋ฉ์ธ ์์ฒด์์ ํ์๋ ์ธ์ด์ด๋ฉฐ, ๋๋ฉ์ธ ๊ฐ๋ , ํ๋ก์ธ์ค ๋ฐ ๊ท์น์ ๋ํด ์ด์ผ๊ธฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ธ์ด์ ๋๋ค. ์ด ์ธ์ด๋ ์ฝ๋, ๋ฌธ์ ๋ฐ ์ปค๋ฎค๋์ผ์ด์ ์ ํฌํจํ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋ชจ๋ ์ธก๋ฉด์์ ์ผ๊ด๋๊ฒ ์ฌ์ฉ๋์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋๋ฉ์ธ์ด ์ ์์๊ฑฐ๋ ํ๋ซํผ์ด๋ผ๋ฉด '์ฃผ๋ฌธ ํญ๋ชฉ'๊ณผ ๊ฐ์ ๊ธฐ์ ์ฉ์ด ๋์ ์ ๋น์ฟผํฐ์ค ์ธ์ด ์ฉ์ด์ธ '์ ํ'์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ณต์ ๋ ์ดํด๋ ๋ค๋ฅธ ๊ทธ๋ฃน์ด ๋์ผํ ๊ฒ์ ์ค๋ช ํ๊ธฐ ์ํด ๋ค๋ฅธ ์ฉ์ด๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ํ ์ ์๋ ์ผ๋ฐ์ ์ธ ์คํด๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
์์: ๊ตญ์ ๋ฐฐ์ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ค๊ณ ์์ํด ๋ณด์ธ์. 'ํจํค์ง' ๋๋ '์ํํ'๊ณผ ๊ฐ์ ์ฉ์ด ๋์ ์ ๋น์ฟผํฐ์ค ์ธ์ด๋ '๋ฐฐ์ก' ๋๋ '์ธ๋'์ผ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์์ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ(๋ค๋ฅธ ๊ตญ๊ฐ์ ๋ฐฐ์ก ๋ฌผ๋ฅ ์ ๋ฌธ๊ฐ) ๋ชจ๋ ํ๋ก์ ํธ ์ ์ฒด์์ ์ฌ์ฉ๋๋ ์ฉ์ด์ ๋์ํด์ผ ํฉ๋๋ค.
2. ๋ฐ์ด๋๋ ์ปจํ ์คํธ
๋ณต์กํ ๋๋ฉ์ธ์๋ ์ข ์ข ์ฌ๋ฌ ํ์ ๋๋ฉ์ธ ๋๋ ์ฑ ์ ์์ญ์ด ์์ต๋๋ค. ๋ฐ์ด๋๋ ์ปจํ ์คํธ๋ ๋ณต์กํ ๋๋ฉ์ธ์ ๋ ์๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ์์ญ์ผ๋ก ๋๋๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ ๋ฐ์ด๋๋ ์ปจํ ์คํธ๋ ๋๋ฉ์ธ์ ํน์ ์ธก๋ฉด์ ๋ํ๋ด๋ฉฐ ๊ณ ์ ํ ์ธ์ด, ๋ชจ๋ธ ๋ฐ ์ฑ ์์ ๊ฐ์ง๋๋ค. ์ด๋ฌํ ์ธ๋ถํ๋ ๋ ์ง์ค์ ์ธ ๊ฐ๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ ์๋ํ์ง ์์ ๋ถ์์ฉ์ ์ํ์ ์ค์ ๋๋ค.
๋ฐ์ด๋๋ ์ปจํ ์คํธ๋ ์ ์ ์๋ ๋ฒ์์ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์๋ํ๋ ํน์ ๊ธฐ๋ฅ ๋ฐ ๋ฐ์ดํฐ ์งํฉ์ ์บก์ํํฉ๋๋ค. ์ด๋ฅผ ๋ ํฐ ์์คํ ๋ด์ ์์ฒด ํฌํจ๋ ๋จ์๋ก ์๊ฐํ์ญ์์ค.
์์: ์ ์์๊ฑฐ๋ ํ๋ซํผ์์ '์ ํ ์นดํ๋ก๊ทธ', '์ฃผ๋ฌธ ์ฒ๋ฆฌ', '๊ฒฐ์ ๊ฒ์ดํธ์จ์ด'์ ๋ํ ๋ณ๋์ ๋ฐ์ด๋๋ ์ปจํ ์คํธ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ๊ฐ ์ปจํ ์คํธ์๋ ๊ณ ์ ํ ํน์ ๋ชจ๋ธ๊ณผ ์ฑ ์์ด ์์ต๋๋ค. '์ ํ ์นดํ๋ก๊ทธ' ์ปจํ ์คํธ๋ '์ ํ', '์นดํ ๊ณ ๋ฆฌ', '์ฌ๊ณ '์ ๊ฐ์ ๊ฐ๋ ์ ์ ์ํ ์ ์์ผ๋ฉฐ, '์ฃผ๋ฌธ ์ฒ๋ฆฌ' ์ปจํ ์คํธ๋ '์ฃผ๋ฌธ', '์ฃผ๋ฌธ ํญ๋ชฉ', '๋ฐฐ์ก ์ฃผ์'๋ฅผ ๋ค๋ฃน๋๋ค. '๊ฒฐ์ ๊ฒ์ดํธ์จ์ด' ์ปจํ ์คํธ๋ ๊ฐ ๊ตญ๊ฐ์ ๊ธ์ต ๊ฑฐ๋์ ํ์ํ ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ๋ค๋ฃจ๋ฉฐ, ์๋ฅผ ๋ค์ด ํตํ ๋ฐ ์ธ๊ธ์ ์ฐจ์ด๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
3. ์ํฐํฐ, ๊ฐ ๊ฐ์ฒด ๋ฐ ์ ๊ทธ๋ฆฌ๊ฑฐํธ
๊ฐ ๋ฐ์ด๋๋ ์ปจํ ์คํธ ๋ด์์ ํน์ ์ ํ์ ๋๋ฉ์ธ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค:
- ์ํฐํฐ: ์ด๋ค์ ์๊ฐ์ด ์ง๋๋ ์ ์ง๋๋ ๊ณ ์ ํ ์๋ณ์๋ฅผ ๊ฐ์ง ๊ฐ์ฒด์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ID์ ๊ฐ์ ๊ณ ์ ์๋ณ์๋ก ์๋ณ๋ฉ๋๋ค. ์์ฑ๋ณด๋ค๋ ์๋ณ์์ ์ด์ ์ ๋ง์ถฅ๋๋ค. ์์๋ก๋ '๊ณ ๊ฐ', '์ฃผ๋ฌธ' ๋๋ '์ฌ์ฉ์ ๊ณ์ '์ด ์์ต๋๋ค.
- ๊ฐ ๊ฐ์ฒด: ์ด๋ค์ ์์ฑ์ผ๋ก ์ ์๋๋ฉฐ, ์๋ณ์๊ฐ ์ค์ํ์ง ์์ ๋ถ๋ณ ๊ฐ์ฒด์ ๋๋ค. ๋ ๊ฐ ๊ฐ์ฒด๋ ์์ฑ์ด ๋์ผํ ๊ฒฝ์ฐ ๋์ผํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์์๋ก๋ '์ฃผ์', '๊ธ์ก', '๋ ์ง ๋ฒ์'๊ฐ ์์ต๋๋ค.
- ์ ๊ทธ๋ฆฌ๊ฑฐํธ: ์ ๊ทธ๋ฆฌ๊ฑฐํธ๋ ๋จ์ผ ๋จ์๋ก ์ทจ๊ธ๋๋ ์ํฐํฐ์ ๊ฐ ๊ฐ์ฒด์ ํด๋ฌ์คํฐ์ ๋๋ค. ์ ๊ทธ๋ฆฌ๊ฑฐํธ์ ์ ๊ทผํ๊ธฐ ์ํ ์ง์ ์ ์ญํ ์ ํ๋ ๋ฃจํธ ์ํฐํฐ๋ฅผ ๊ฐ์ง๋๋ค. ์ ๊ทธ๋ฆฌ๊ฑฐํธ๋ ๊ฒฝ๊ณ ๋ด์์ ์ผ๊ด์ฑ์ ๊ฐ์ ํ๊ณ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด๋ ์ ์๋ ๊ท์น์ ๋ฐ๋ผ ์ ๊ทธ๋ฆฌ๊ฑฐํธ์ ๋ํ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋๋ก ๋ณด์ฅํจ์ผ๋ก์จ ๋ด๋ถ ์ผ๊ด์ฑ์ ๋ณดํธํฉ๋๋ค. ์ ๊ทธ๋ฆฌ๊ฑฐํธ๋ฅผ ๋๋ฉ์ธ ๋ชจ๋ธ ๋ด์ ์์ฒด ํฌํจ๋ ๋จ์๋ก ์๊ฐํ์ญ์์ค. ์ด๋ค์ ๋ณต์กํ ๋์์ ์บก์ํํ๊ณ ๋น์ฆ๋์ค ๊ท์น์ ๊ฐ์ ํฉ๋๋ค. ์์๋ก๋ ๊ด๋ จ๋ '์ฃผ๋ฌธ ํญ๋ชฉ' ๋ฐ '๋ฐฐ์ก ์ฃผ์'๋ฅผ ํฌํจํ๋ '์ฃผ๋ฌธ' ์ ๊ทธ๋ฆฌ๊ฑฐํธ ๋๋ 'ํญ๊ณตํธ', '์น๊ฐ', '๊ฒฐ์ ' ๊ฐ ๊ฐ์ฒด๋ก ๊ตฌ์ฑ๋ 'ํญ๊ณตํธ ์์ฝ' ์ ๊ทธ๋ฆฌ๊ฑฐํธ๊ฐ ์์ต๋๋ค.
์ด๋ฌํ ๊ฐ๋ ์ ์ดํดํ๋ ๊ฒ์ ๋๋ฉ์ธ ๋ชจ๋ธ์ ํต์ฌ์ ๊ตฌ์ฑํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ตญ์ ํญ๊ณต์ฌ์ ๋จ๊ณจ ๊ณ ๊ฐ ํ๋ก๊ทธ๋จ์ 'LoyaltyAccount' ์ํฐํฐ(ID ํฌํจ)์ ํจ๊ป 'FlightMiles'(๊ฐ ๊ฐ์ฒด)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. '์์ฝ' ์ ๊ทธ๋ฆฌ๊ฑฐํธ๋ 'ํญ๊ณตํธ', '์น๊ฐ', '๊ฒฐ์ ' ๊ฐ ๊ฐ์ฒด๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
4. ๋๋ฉ์ธ ์๋น์ค
๋๋ฉ์ธ ์๋น์ค๋ ์ํฐํฐ๋ ๊ฐ ๊ฐ์ฒด์ ์์ฐ์ค๋ฝ๊ฒ ๋ง์ง ์๋ ๋น์ฆ๋์ค ๋ก์ง์ ์บก์ํํฉ๋๋ค. ์ด๋ค์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋ฌ ์ํฐํฐ ๋๋ ๊ฐ ๊ฐ์ฒด์์ ์๋ํ์ฌ ๋๋ฉ์ธ์ ๋์์ ์กฐ์ ํฉ๋๋ค. ๋๋ฉ์ธ ์๋น์ค๋ ์ํฐํฐ๋ ๊ฐ ๊ฐ์ฒด์ ์์ฐ์ค๋ฝ๊ฒ ๊ด๋ จ๋์ง ์์ ์์ ์ ์ ์ํฉ๋๋ค. ๋์ , ์ฌ๋ฌ ์ํฐํฐ ๋๋ ๊ฐ ๊ฐ์ฒด์ ๊ฑธ์ณ ์๋ ๋์์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ์๋น์ค๋ ๊ตญ์ ๊ฑฐ๋์์ ํตํ๋ฅผ ๋ณํํ๊ฑฐ๋ ๋ฐฐ์ก ๋น์ฉ์ ๊ณ์ฐํ๋ ๊ฒ๊ณผ ๊ฐ์ด ์๋ก ๋ค๋ฅธ ๋๋ฉ์ธ ์์ ๊ฐ์ ์ํธ ์์ฉ์ ํฌํจํ๋ ๋ณต์กํ ๋น์ฆ๋์ค ํ๋ก์ธ์ค ๋๋ ๊ณ์ฐ์ ์บก์ํํฉ๋๋ค.
์์: ๊ตญ์ ๋ฐฐ์ก์ ๋ํ ๋ฐฐ์ก ๋น์ฉ ๊ณ์ฐ์ ๋๋ฉ์ธ ์๋น์ค๊ฐ ๋ ์ ์์ต๋๋ค. ์ด ์๋น์ค๋ ์ฌ๋ฌ ์ํฐํฐ(์: '๋ฐฐ์ก', '์ ํ', '๋ฐฐ์ก ์ฃผ์')์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ ์ต์ข ๋ฐฐ์ก ๋น์ฉ์ ๊ณ์ฐํ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค.
5. ๋ฆฌํฌ์งํ ๋ฆฌ
๋ฆฌํฌ์งํ ๋ฆฌ๋ ๋๋ฉ์ธ ๊ฐ์ฒด์ ์ ๊ทผํ๊ณ ์์ํํ๊ธฐ ์ํ ์ถ์ํ ๊ณ์ธต์ ์ ๊ณตํฉ๋๋ค. ์ด๋ค์ ๋ฐ์ดํฐ ์ ์ฅ์(์: ๋ฐ์ดํฐ๋ฒ ์ด์ค, API)์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋๋ฉ์ธ ๋ชจ๋ธ์์ ์จ๊ฒจ ๋ ์ฌ์ด ํ ์คํธ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๊ณ ๋๋ฉ์ธ ๋ก์ง์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ฐ์ดํฐ ์ ์ฅ ๋ฉ์ปค๋์ฆ์ ๋ณ๊ฒฝํ ์ ์๋๋ก ํฉ๋๋ค.
์์: 'CustomerRepository'๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ '๊ณ ๊ฐ' ์ํฐํฐ๋ฅผ ์ ์ฅ, ๊ฒ์ ๋ฐ ์ญ์ ํ๋ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํธ ์์ฉ์ ์ธ๋ถ ์ฌํญ์ '๊ณ ๊ฐ' ์ํฐํฐ ๋ฐ ๊ด๋ จ ๋น์ฆ๋์ค ๋ก์ง์์ ์จ๊น๋๋ค.
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ๊ตฌํ: ์ค์ฉ ๊ฐ์ด๋
DDD๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ตฌํํ๋ ค๋ฉด ์ฌ๋ฌ ๋จ๊ณ๊ฐ ํ์ํฉ๋๋ค. ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ์กฐ์ธ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค:
1. ๋๋ฉ์ธ ๋ชจ๋ธ๋ง: ์ง์ ์์ง ๋ฐ ๋ชจ๋ธ ์์ฑ
์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ๋๋ฉ์ธ์ ๋ํ ์ง์์ ์์งํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ(์: ๋น์ฆ๋์ค ๋ถ์๊ฐ, ์ ํ ์์ ์ ๋ฐ ์ฌ์ฉ์)์ ๊ธด๋ฐํ๊ฒ ํ๋ ฅํ์ฌ ๋น์ฆ๋์ค ๊ท์น, ํ๋ก์ธ์ค ๋ฐ ๊ฐ๋ ์ ์ดํดํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ญ์์ค:
- ์ด๋ฒคํธ ์คํ ๋ฐ: ์ฃผ์ ์ด๋ฒคํธ, ๋ช ๋ น ๋ฐ ํ์์๋ฅผ ์๊ฐํํ์ฌ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ์ ์ํ๊ฒ ํ์ํ๊ณ ์ดํดํ๊ธฐ ์ํ ํ์ ์ํฌ์ ๊ธฐ์ ์ ๋๋ค.
- ์ฌ์ฉ ์ฌ๋ก ๋ถ์: ์ฌ์ฉ์๊ฐ ํน์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์์คํ ๊ณผ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ์๋ณํ๊ณ ๋ฌธ์ํํฉ๋๋ค.
- ํ๋กํ ํ์ดํ: ์ดํด๋ฅผ ๊ฒ์ฆํ๊ณ ํผ๋๋ฐฑ์ ์์งํ๊ธฐ ์ํด ๊ฐ๋จํ ํ๋กํ ํ์ ์ ๊ตฌ์ถํฉ๋๋ค.
์ด๋ ๋๋ฉ์ธ ๋ชจ๋ธ์ ์์ฑํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋๋ฉ์ธ ๋ชจ๋ธ์ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ๊ฐ๋ ์ ํํ์ด๋ฉฐ, ๊ทธ ๋ณธ์ง์ ์ธ ์์์ ๊ด๊ณ๋ฅผ ํฌ์ฐฉํฉ๋๋ค. ์ด ๋ชจ๋ธ์ ๋๋ฉ์ธ์ ๋ํ ์ดํด๊ฐ ๊น์ด์ง์ ๋ฐ๋ผ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ฐ์ ํด์ผ ํฉ๋๋ค.
๋๋ฉ์ธ ๋ชจ๋ธ์ DDD์ ์ค์ํ ์์์ ๋๋ค. ์ด๋ ๋ค์ด์ด๊ทธ๋จ, ํด๋์ค ์งํฉ ๋๋ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ํต์ฌ ๊ฐ๋ , ๊ด๊ณ ๋ฐ ๊ท์น์ ์ ์ํ๋ ์ผ๋ จ์ ๋ฌธ์์ผ ์ ์์ต๋๋ค. ๋ชจ๋ธ์ ํ๋ก์ ํธ๊ฐ ์งํ๋จ์ ๋ฐ๋ผ ๋ ๋์ ์ดํด์ ํผ๋๋ฐฑ์ ๋ฐ๋ผ ๋ฐ์ ํ ์ ์๊ณ ๋ ๊ทธ๋์ผ ํฉ๋๋ค.
2. ๋ฐ์ด๋๋ ์ปจํ ์คํธ ์ ์
๋๋ฉ์ธ ๋ด์ ๋ช ํํ ์์ญ์ ์๋ณํ๊ณ ๊ฐ ๋ฐ์ด๋๋ ์ปจํ ์คํธ์ ๋ฒ์๋ฅผ ์ ์ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋๋ฉ์ธ ๋ชจ๋ธ์ ๋ถ์ํ๊ณ ์๋ก ๋ค๋ฅธ ๊ฐ๋ ๊ณผ ๊ท์น์ด ์ ์ฉ๋๋ ์์ญ์ ์๋ณํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ๋ชฉํ๋ ๊ด์ฌ์ ๋ถ๋ฆฌํ๊ณ ์์คํ ์ ๋ค๋ฅธ ๋ถ๋ถ ๊ฐ์ ์ข ์์ฑ์ ์ค์ด๋ ๊ฒ์ ๋๋ค. ๊ฐ ๋ฐ์ด๋๋ ์ปจํ ์คํธ๋ ์์ฒด ๋ชจ๋ธ์ ๊ฐ์ ธ์ผ ํ๋ฉฐ, ์ด๋ ์ง์ค์ ์ด๊ณ ๊ด๋ฆฌ ๊ฐ๋ฅํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
์์: ๊ตญ์ ๊ณต๊ธ๋ง ๊ด๋ฆฌ ์์คํ ์ ๊ณ ๋ คํด ๋ณด์ธ์. ๊ฐ๋ฅํ ๋ฐ์ด๋๋ ์ปจํ ์คํธ์๋ '์ฃผ๋ฌธ ๊ด๋ฆฌ', '์ฌ๊ณ ๊ด๋ฆฌ', '๋ฐฐ์ก ๋ฐ ๋ฌผ๋ฅ', '์ธ๊ด ๋ฐ ๊ท์ ์ค์'๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
3. ์ํฐํฐ, ๊ฐ ๊ฐ์ฒด ๋ฐ ์ ๊ทธ๋ฆฌ๊ฑฐํธ ์ค๊ณ
๊ฐ ๋ฐ์ด๋๋ ์ปจํ ์คํธ ๋ด์์ ํต์ฌ ๋๋ฉ์ธ ๊ฐ๋ ์ ๋ํ๋ด๋ ์ํฐํฐ, ๊ฐ ๊ฐ์ฒด ๋ฐ ์ ๊ทธ๋ฆฌ๊ฑฐํธ๋ฅผ ์ ์ํฉ๋๋ค. ์ ๋น์ฟผํฐ์ค ์ธ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ช ํํ๊ณ ๊ฐ๊ฒฐํ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๊ฐ์ฒด๋ฅผ ์ค๊ณํฉ๋๋ค. ์ ๊ทธ๋ฆฌ๊ฑฐํธ ๋ฃจํธ๋ ํนํ ์ค์ํฉ๋๋ค. ์ด๋ค์ ์ ๊ทธ๋ฆฌ๊ฑฐํธ์ ์ ๊ทผํ๊ณ ์์ ํ๊ธฐ ์ํ ์ง์ ์ ์ญํ ์ ํ๋ฉฐ, ๋ด๋ถ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํฉ๋๋ค. ์ด๋ฌํ ๊ฐ์ฒด๋ ์์คํ ์ ์ํ์ ๋์์ ๊ตฌํํฉ๋๋ค.
์์: '์ฃผ๋ฌธ ์ฒ๋ฆฌ' ๋ฐ์ด๋๋ ์ปจํ ์คํธ์์ '์ฃผ๋ฌธ'(ID๊ฐ ์๋ ์ํฐํฐ), '์ฃผ๋ฌธ ํญ๋ชฉ'(์ฃผ๋ฌธ๊ณผ ๊ด๋ จ๋ ์ํฐํฐ), '์ฃผ์'(๊ฐ ๊ฐ์ฒด), '๊ธ์ก'(๊ตญ์ ๊ฑฐ๋๋ฅผ ์ํ ํตํ ์ธ์ ๊ธ์ก์ ๋ํ๋ด๋ ๊ฐ ๊ฐ์ฒด)์ ๊ฐ์ง ์ ์์ต๋๋ค. ์ ๊ทธ๋ฆฌ๊ฑฐํธ๊ฐ ๋จ์ผ ๊ฑฐ๋์ ํ์ํ ์์คํ ์ ๋ชจ๋ ๋ถ๋ถ์ ํฌํจํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
4. ๋๋ฉ์ธ ์๋น์ค ๋ฐ ๋ฆฌํฌ์งํ ๋ฆฌ ๊ตฌํ
์ํฐํฐ ๋๋ ๊ฐ ๊ฐ์ฒด์ ์์ฐ์ค๋ฝ๊ฒ ๋ง์ง ์๋ ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง์ ์บก์ํํ๊ธฐ ์ํด ๋๋ฉ์ธ ์๋น์ค๋ฅผ ๊ตฌํํฉ๋๋ค. ๋ฐ์ดํฐ ์ ๊ทผ ๊ณ์ธต์ ์ถ์ํํ๊ณ ๋๋ฉ์ธ ๊ฐ์ฒด๋ฅผ ์์ํํ๊ณ ๊ฒ์ํ๋ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๊ตฌํํฉ๋๋ค. ์ด๋ฌํ ๋ถ๋ฆฌ๋ ์ฝ๋๋ฅผ ์ ์ง๋ณด์ํ๊ณ ๋ฐ์ ์ํค๋ ๊ฒ์ ๋ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
์์: ๊ธ๋ก๋ฒ ๊ฑฐ๋๋ฅผ ์ํด ์๋ก ๋ค๋ฅธ ํตํ ๊ฐ์ ๊ธ์ก์ ๋ณํํ ์ ์๋ 'CurrencyConversionService'(๋๋ฉ์ธ ์๋น์ค)๋ฅผ ๊ตฌํํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ API์์ ์ ํ ์ ๋ณด์ ์ ๊ทผํ๊ธฐ ์ํด 'ProductRepository'๋ฅผ ๊ตฌํํฉ๋๋ค. ๊ตญ์ ๋ฐฐ์ก์ ์ถ๋ฐ์ง, ๋ชฉ์ ์ง, ๋ฌด๊ฒ์ ๊ฐ์ ์์ธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐฐ์ก ๋น์ฉ์ ๊ณ์ฐํ๋ 'ShippingCalculationService'(๋๋ฉ์ธ ์๋น์ค)๋ฅผ ๊ตฌํํฉ๋๋ค.
5. ์ฌ๋ฐ๋ฅธ ์ํคํ ์ฒ ์ ํ
์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐํํ๊ณ ๊ด์ฌ์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ํด๋ฆฐ ์ํคํ ์ฒ ๋๋ ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ์ ๊ฐ์ ์ํคํ ์ฒ ํจํด์ ๊ณ ๋ คํ์ญ์์ค. ์ด๋ฌํ ํจํด์ ๋๋ฉ์ธ ๋ก์ง์ ์ธํ๋ผ ๋ฐ ํ๋ ์ ํ ์ด์ ๊ณ์ธต๊ณผ ๋ถ๋ฆฌํ์ฌ DDD์ ์์น์ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ๋ ์ ํ ์ด์ , ์ ํ๋ฆฌ์ผ์ด์ , ๋๋ฉ์ธ ๋ฐ ์ธํ๋ผ์ ๊ฐ์ ๋ณ๊ฐ์ ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋๋ ๊ณ์ธตํ ์ํคํ ์ฒ๋ ๊ณ ๋ คํ์ญ์์ค. ์ด ๊ณ์ธตํ๋ ๋๋ฉ์ธ ๋ก์ง์ ๊ฒฉ๋ฆฌํ๊ณ ํ ๊ณ์ธต์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ค๋ฅธ ๊ณ์ธต์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๊ธ๋ก๋ฒ ๋งฅ๋ฝ์์ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ์ ์ด์
DDD๋ ํนํ ๊ธ๋ก๋ฒ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์์ ์๋นํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
1. ํฅ์๋ ์ปค๋ฎค๋์ผ์ด์ ๋ฐ ํ์
์ ๋น์ฟผํฐ์ค ์ธ์ด๋ ๊ฐ๋ฐ์, ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ ๋ฐ ์ดํด๊ด๊ณ์ ๊ฐ์ ๋ ๋์ ์ปค๋ฎค๋์ผ์ด์ ์ ์ด์งํฉ๋๋ค. ์ด๋ฌํ ๊ณต์ ๋ ์ดํด๋ ํ์ด ์๋ก ๋ค๋ฅธ ์๊ฐ๋์ ๋ฌธํ์ ๋ฐฐ๊ฒฝ์ ๋ถ์ฐ๋ ์ ์๋ ๊ธ๋ก๋ฒ ํ๋ก์ ํธ์ ํ์์ ์ ๋๋ค. ์ด๋ ์คํด์ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ๊ณ ๋ชจ๋ ์ฌ๋์ด ๊ฐ์ ์ ์ฅ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด ๊ณต์ ์ธ์ด๋ ์ ์ธ๊ณ์ ๋ถ์ฐ๋ ๋ชจ๋ ํ์๊ฒ ์ค์ํฉ๋๋ค.
์์: ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ์ฌ๋ฌ ๊ตญ๊ฐ๋ก ํ์ฅํ๋ ํ๋ก์ ํธ ์ค์ '์ ํ'(๋ ๊ธฐ์ ์ ์ธ ์ฉ์ด์ธ 'ํญ๋ชฉ' ๋์ )์ ์ฌ์ฉํ์ฌ ํ๋์ค ํ๊ณผ ๋ธ๋ผ์ง ํ์ด ๋ ํจ์จ์ ์ผ๋ก ํ๋ ฅํ ์ ์์์ต๋๋ค.
2. ํฅ์๋ ์ฝ๋ ํ์ง ๋ฐ ์ ์ง๋ณด์์ฑ
DDD๋ ๋ชจ๋์ฑ ๋ฐ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ๋ฅผ ์ด์งํ์ฌ ๋ ๊นจ๋ํ๊ณ ์ ์ง๋ณด์ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ๋ง๋ญ๋๋ค. ์ํฐํฐ, ๊ฐ ๊ฐ์ฒด ๋ฐ ์ ๊ทธ๋ฆฌ๊ฑฐํธ์ ์ฌ์ฉ์ ๋๋ฉ์ธ ๋ก์ง์ ๊ตฌ์กฐํํ๋ ๋ฐ ๋์์ด ๋์ด ์ดํด, ํ ์คํธ ๋ฐ ์์ ํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐํ๋ ์กฐ์ง์ ์ฆ์ ์ ๋ฐ์ดํธ ๋ฐ ๊ฐ์ ์ด ํ์ํ ๋๊ท๋ชจ ๋ณต์ก ์์คํ ์ ํนํ ์ ์ฉํฉ๋๋ค.
์์: ๊ตญ์ ์ฃผ๋ฌธ์ ์ง์ํ๊ธฐ ์ํด '์ฃผ๋ฌธ ์ฒ๋ฆฌ' ์ปจํ ์คํธ๋ฅผ ํ์ฅํ๋ ๊ฒฝ์ฐ, DDD๋ ์์คํ ์ ๋ค๋ฅธ ๋ถ๋ถ์ ๋ฏธ์น๋ ์ํฅ์ ์ต์ํํ๋ฉด์ ๊ธฐ์กด ์ฝ๋๋ฅผ ์์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. DDD๊ฐ ์ ๊ณตํ๋ ๊ตฌ์กฐ๋ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ค์ฌ์ฃผ๋ ๊ฐ๋จํ ์ ์ง๋ณด์๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
3. ๋ฏผ์ฒฉ์ฑ ๋ฐ ์ ์์ฑ ํฅ์
ํต์ฌ ๋๋ฉ์ธ์ ์ง์คํจ์ผ๋ก์จ DDD๋ ๋ณํํ๋ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ๋ ์ฝ๊ฒ ์ ์ํ ์ ์๋๋ก ํฉ๋๋ค. ๋ชจ๋ํ ์ค๊ณ์ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ๋ ์์คํ ์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋๋ฉ์ธ ๋ก์ง์ ๋ณ๊ฒฝํ ์ ์๋๋ก ํฉ๋๋ค. ๋๋ฉ์ธ ๊ณ์ธต๊ณผ ์ธํ๋ผ ๊ณ์ธต์ ๋ถ๋ฆฌ๋ ์๋ก์ด ๊ธฐ์ ์ด๋ ํ๋ซํผ์ผ๋ก ์ ํํ๋ ๊ฒ์ ๋ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
์์: ์๋ก์ด ๊ฒฐ์ ๋ฐฉ๋ฒ์ ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ, ํต์ฌ '์ฃผ๋ฌธ ์ฒ๋ฆฌ' ๋ก์ง์ ๋ณ๊ฒฝํ์ง ์๊ณ '๊ฒฐ์ ๊ฒ์ดํธ์จ์ด' ๋ฐ์ด๋๋ ์ปจํ ์คํธ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ณํ์ ์ ์ํ๋ ๋ฅ๋ ฅ์ ๊ธ๋ก๋ฒ ์์ฅ์์ ๊ฒฝ์๋ ฅ์ ์ ์งํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
4. ๋ ๋์ ํ์ฅ์ฑ ๋ฐ ์ฑ๋ฅ
์ ๊ทธ๋ฆฌ๊ฑฐํธ ๋ฐ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฌ์ฉ๊ณผ ๊ฐ์ DDD ๊ณผ์ ์์ ์ด๋ฃจ์ด์ง ์ค๊ณ ์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ํจ์จ์ ์ผ๋ก ์ค๊ณ๋ ์ ๊ทธ๋ฆฌ๊ฑฐํธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ ์๋ฅผ ์ค์ผ ์ ์์ผ๋ฉฐ, ๋ฆฌํฌ์งํ ๋ฆฌ๋ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ๊ทผ์ ์ํด ์ต์ ํ๋ ์ ์์ต๋๋ค. ์ฑ๋ฅ ๋ฐ ํ์ฅ์ฑ์ ๋ํ ์ด์ ์ ๋ง์ ์์ ์ฌ์ฉ์์ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํด์ผ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์์ ์ ๋๋ค.
์์: ๊ตญ์ ์์ ๋ฏธ๋์ด ํ๋ซํผ์์ ์ ๊ทธ๋ฆฌ๊ฑฐํธ(์: ๊ฒ์๋ฌผ, ๋๊ธ, ์ข์์)์ ์ ์คํ ์ค๊ณ๋ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ฒ์์ ๋ณด์ฅํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ถํ๋ฅผ ์ค์ฌ ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
5. ์ํ ๊ฐ์ ๋ฐ ์์ฅ ์ถ์ ์๊ฐ ๋จ์ถ
๋น์ฆ๋์ค ๋๋ฉ์ธ์ ์ง์คํ๊ณ ๊ณต์ ์ธ์ด๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ DDD๋ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ ์คํด์ ์ํ์ ์ค์ ๋๋ค. ๋ชจ๋ํ ์ค๊ณ ๋ฐ ํฅ์๋ ์ฝ๋ ํ์ง์ ๋ ๋น ๋ฅธ ๊ฐ๋ฐ ์ฃผ๊ธฐ์ ๋ ๋น ๋ฅธ ์์ฅ ์ถ์๋ก ์ด์ด์ง๋๋ค. ์ํ ๊ฐ์ ๋ฐ ๋ ๋น ๋ฅธ ๊ฐ๋ฐ ์๊ฐ์ ๊ธ๋ก๋ฒ ์์ฅ์์ ๊ฒฝ์ํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
์์: ๊ธ๋ก๋ฒ ๋ฐฐ์ก ๋ฐ ๋ฌผ๋ฅ ํ์ฌ์์ DDD๋ฅผ ์ฌ์ฉํ๋ฉด ๊ตญ์ ๊ท์ ์ค์์ ๊ด๋ จ๋ ๋น์ฆ๋์ค ๊ท์น ๋ฐ ์๊ตฌ ์ฌํญ์ ๋ช ํํ ํ์ฌ ๊ฐ๋ฐ ์๋๋ฅผ ๋์ด๊ณ ๋ฐฐ์ก ๊ท์น์์ ๋น์ฉ์ด ๋ง์ด ๋๋ ์ค๋ฅ ์ํ์ ์ค์ด๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ์ ๊ณผ์
DDD๋ ์๋นํ ์ด์ ์ ์ ๊ณตํ์ง๋ง, ๊ทธ ๊ณผ์ ๋ฅผ ์ธ์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค:
1. ๊ฐํ๋ฅธ ํ์ต ๊ณก์
DDD๋ ๊ฐ๋ ์ ํ์ตํ๊ณ ์ดํดํ๋ ๋ฐ ์๋นํ ํฌ์๋ฅผ ์๊ตฌํฉ๋๋ค. ํนํ ์ด ์ ๊ทผ ๋ฐฉ์์ ์ต์ํ์ง ์์ ํ์๊ฒ๋ ์ฑํํ๊ณ ๊ตฌํํ๋ ๊ฒ์ด ํญ์ ์ฌ์ด ๊ฒ์ ์๋๋๋ค. ํ์ DDD์ ๋ํด ํ๋ จํ๊ณ ๊ต์กํ๋ ๋ฐ ์๊ฐ์ ํฌ์ํด์ผ ํ๋ฉฐ, ์ด๋ ํ๋ก์ ํธ์ ์ด๊ธฐ ๋จ๊ณ๋ฅผ ์ง์ฐ์ํฌ ์ ์์ต๋๋ค.
์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ: ๋๊ท๋ชจ ๋ณต์ก ์์คํ ์ ์ ์ฉํ๊ธฐ ์ ์ ์์ ํ๋ก์ ํธ๋ ํ์ผ๋ฟ ํ๋ก์ ํธ๋ก ์์ํ์ฌ ํต์ฌ ์์น์ ๋ฐฐ์ฐ์ญ์์ค.
2. ์๊ฐ ์๋ชจ์ ์ธ ๋ชจ๋ธ๋ง
๋๋ฉ์ธ์ ์ ํํ๊ณ ์ฒ ์ ํ๊ฒ ๋ชจ๋ธ๋งํ๋ ๊ฒ์ ๊ฐ๋ฐ์์ ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ ๊ฐ์ ํ์ ์ ์๊ตฌํ๋ฉฐ ์๊ฐ์ด ๋ง์ด ์์๋ ์ ์์ต๋๋ค. ๋๋ฉ์ธ ๋ชจ๋ธ๋ง ํ๋ก์ธ์ค๋ ์๋นํ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ํ์๋ก ํฉ๋๋ค. ๋น์ฆ๋์ค ์ ๋ฌธ๊ฐ๋ก๋ถํฐ ์ ๋ณด๋ฅผ ์์ง, ๋ถ์ ๋ฐ ๊ฒ์ฆํ๊ณ , ๊ณต์ ์ธ์ด๋ฅผ ๊ตฌ์ถํ๋ฉฐ, ์ ํํ ๋ชจ๋ธ์ ์์ฑํ๋ ๊ฒ์ ์ ์ฒด ํ์ ํ์ ์ ํ์๋ก ํฉ๋๋ค.
์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ: ๋ฐ๋ณต์ ์ธ ๋ชจ๋ธ๋ง ๊ธฐ์ ์ ์ฌ์ฉํ๊ณ ํต์ฌ ๋๋ฉ์ธ ๊ฐ๋ ์ ๋จผ์ ์ง์คํ์ญ์์ค.
3. ์ค๊ณ์ ๋ํ ์ ํ ํฌ์
DDD๋ ๋ ๊ฐ๋จํ ์ ๊ทผ ๋ฐฉ์์ ๋นํด ์ค๊ณ ๋ฐ ๊ณํ์ ๋ ๋ง์ ์ ํ ํฌ์๋ฅผ ์๊ตฌํฉ๋๋ค. ์ด๋ฌํ ์ ํ ๊ณํ ๋น์ฉ์ ์ด๊ธฐ์๋ ๋์ ์ ์์ง๋ง, ํ๋ก์ ํธ ์๋ช ์ฃผ๊ธฐ ๋์ ๊ทธ ๊ฐ์น๋ฅผ ํฉ๋๋ค. ์ธ์ฌํ ๊ณํ๊ณผ ์๊ฒฉํ ๋ถ์์ ํ์์ฑ, ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ธ๋ง ๋ฐ ์ค๊ณ ๋จ๊ณ์ ํ์ํ ์๊ฐ ํฌ์๋ ๋๋๋ก ํ๋ก์ ํธ ์ง์ฐ์ผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ: ์ต์ ์คํ ๊ฐ๋ฅ ์ ํ(MVP) ๊ฐ๋ฐ์ ์ฐ์ ํ์ฌ ํผ๋๋ฐฑ์ ์ป๊ณ ์ค๊ณ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๊ฐ์ ํ์ญ์์ค.
4. ์ ์ฌ์ ์ธ ๊ณผ๋ํ ์ค๊ณ(Over-Engineering)
๋๋ฉ์ธ ๋ชจ๋ธ์ด ๋๋ฌด ๋ณต์กํ๊ฑฐ๋ ํ์ด DDD ์์น์ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ ๊ฒฝ์ฐ ์๋ฃจ์ ์ ๊ณผ๋ํ๊ฒ ์ค๊ณํ ์ํ์ด ์์ต๋๋ค. DDD์ ์ ์ฉ์ ํนํ ์๊ท๋ชจ ํ๋ก์ ํธ๋ ๋ ๊ฐ๋จํ ๋๋ฉ์ธ์ ๊ฐ์ง ํ๋ก์ ํธ์์ ๊ณผ๋ํ๊ฒ ์ค๊ณ๋ ์ ์์ต๋๋ค. ๊ณผ๋ํ๊ฒ ์ค๊ณ๋ ์๋ฃจ์ ์ ๋ณต์ก์ฑ์ ์ถ๊ฐํ๊ณ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋ฆ์ถ ์ ์์ต๋๋ค.
์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ: ํ๋ก์ ํธ์ ํ์ํ DDD ๊ธฐ์ ๋ง ์ฌ์ฉํ๊ณ ๋ถํ์ํ ๋ณต์ก์ฑ์ ํผํ์ญ์์ค. ๋ชฉํ๋ ๋น์ฆ๋์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๊ฒ์ด์ง, ํ์ด DDD๋ฅผ ์ผ๋ง๋ ์ ์ดํดํ๋์ง ๊ณผ์ํ๋ ๊ฒ์ด ์๋๋๋ค.
5. ๋ ๊ฑฐ์ ์์คํ ๊ณผ์ ํตํฉ ์ด๋ ค์
DDD ๊ธฐ๋ฐ ์์คํ ์ ๋ ๊ฑฐ์ ์์คํ ๊ณผ ํตํฉํ๋ ๊ฒ์ ํนํ ๋ ๊ฑฐ์ ์์คํ ์ด ๋ค๋ฅธ ์ํคํ ์ฒ์ ๊ธฐ์ ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด ์ด๋ ค์ธ ์ ์์ต๋๋ค. ๊ธฐ์กด ์์คํ ์ DDD๋ฅผ ํตํฉํ๋ ๊ฒ์ ๋๋๋ก ์ด๋ ต์ต๋๋ค. ๋ ๊ฑฐ์ ์์คํ ์ ๋ณต์กํ ์ํคํ ์ฒ์ ์์ฒด ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ์ด๋ DDD ๊ธฐ๋ฐ ์์คํ ๊ณผ ํตํฉํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ค ๊ฒฝ์ฐ์๋ ๋ ๊ฑฐ์ ์์คํ ์ ์์ ํ๊ฑฐ๋ '์ํฐ-์ปค๋ฝ์ ๊ณ์ธต'๊ณผ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ ์์คํ ์ ํตํฉํด์ผ ํ ์๋ ์์ต๋๋ค.
์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ: ์ํฐ-์ปค๋ฝ์ ๊ณ์ธต๊ณผ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ DDD ๋ชจ๋ธ์ ๋ ๊ฑฐ์ ์์คํ ์ผ๋ก๋ถํฐ ๊ฒฉ๋ฆฌํ์ญ์์ค. ์ํฐ-์ปค๋ฝ์ ๊ณ์ธต์ DDD ์์คํ ์ด ๊ธฐ์กด ๋ ๊ฑฐ์ ์ฝ๋์ ์๋ํ ์ ์๋๋ก ํฉ๋๋ค.
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
DDD๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ณ ๋ คํ์ญ์์ค:
- ์๊ฒ ์์ํ๊ณ ๋ฐ๋ณตํ์ญ์์ค: ๋๋ฉ์ธ์ ์๊ณ ์ ์ ์๋ ๋ถ๋ถ๋ถํฐ ์์ํ์ฌ ๋ชจ๋ธ์ ๋ฐ๋ณต์ ์ผ๋ก ํ์ฅํ์ญ์์ค. ์ ์ฒด ๋๋ฉ์ธ์ ํ ๋ฒ์ ๋ชจ๋ธ๋งํ๋ ค๊ณ ํ์ง ๋ง์ญ์์ค.
- ํต์ฌ ๋๋ฉ์ธ์ ์ง์คํ์ญ์์ค: ๋น์ฆ๋์ค์ ๊ฐ์ฅ ์ค์ํ ๋๋ฉ์ธ ๋ถ๋ถ์ ์ฐ์ ์์๋ก ๋์ญ์์ค.
- ํ์ ์ ์์ฉํ์ญ์์ค: ๋๋ฉ์ธ ์ ๋ฌธ๊ฐ์ ๊ธด๋ฐํ๊ฒ ํ๋ ฅํ์ฌ ๋๋ฉ์ธ์ ๋ํ ๊ณต์ ๋ ์ดํด๋ฅผ ๊ตฌ์ถํ์ญ์์ค. ๋ชจ๋ ํ ๊ตฌ์ฑ์์ด ๋น์ฆ๋์ค ๊ท์น ๋ฐ ์๊ตฌ ์ฌํญ์ ์ดํดํ๊ณ , ๋ชจ๋ ์ฌ๋์ด ๊ฐ์ ์ ์ฅ์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋๋ ๋๊ตฌ๋ฅผ ๊ฐ์ถ๋๋ก ๋ณด์ฅํ์ญ์์ค.
- ์ ๋น์ฟผํฐ์ค ์ธ์ด๋ฅผ ์ผ๊ด๋๊ฒ ์ฌ์ฉํ์ญ์์ค: ํ์ ๋ชจ๋ ์ฌ๋์ด ๋ชจ๋ ์ปค๋ฎค๋์ผ์ด์ , ๋ฌธ์ ๋ฐ ์ฝ๋์์ ๊ณต์ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋๋ก ํ์ญ์์ค. ์ฉ์ด์ง์ ๋ง๋ค๊ณ ์ ์งํ์ญ์์ค.
- ์๊ฐํ๋ฅผ ์ฌ์ฉํ์ญ์์ค: ๋ค์ด์ด๊ทธ๋จ๊ณผ ๋ชจ๋ธ์ ํ์ฉํ์ฌ ๋๋ฉ์ธ ๋ชจ๋ธ์ ํจ๊ณผ์ ์ผ๋ก ์ ๋ฌํ์ญ์์ค.
- ๊ฐ๋จํ๊ฒ ์ ์งํ์ญ์์ค: ๋ถํ์ํ ๋ณต์ก์ฑ์ ํผํ๊ณ ๋น์ฆ๋์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ชจ๋ธ์ ๋ง๋๋ ๋ฐ ์ง์คํ์ญ์์ค. ์๋ฃจ์ ์ ๊ณผ๋ํ๊ฒ ์ค๊ณํ์ง ๋ง์ญ์์ค.
- ์ ์ ํ ์ํคํ ์ฒ ํจํด์ ์ฌ์ฉํ์ญ์์ค: ํด๋ฆฐ ์ํคํ ์ฒ ๋๋ ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ์ ๊ฐ์ ์ํคํ ์ฒ ํจํด์ ์ ํํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐํํ์ญ์์ค.
- ํ ์คํธ๋ฅผ ์์ฑํ์ญ์์ค: ๋๋ฉ์ธ ๋ก์ง์ ์ ํ์ฑ์ ํ์ธํ๊ธฐ ์ํด ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ์ญ์์ค.
- ์ ๊ธฐ์ ์ผ๋ก ๋ฆฌํฉํ ๋งํ์ญ์์ค: ๋๋ฉ์ธ์ ๋ํด ๋ ๋ง์ด ๋ฐฐ์ฐ๊ณ ์๊ตฌ ์ฌํญ์ด ๋ณ๊ฒฝ๋จ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งํ์ญ์์ค.
- ์ฌ๋ฐ๋ฅธ ๋๊ตฌ๋ฅผ ์ ํํ์ญ์์ค: DDD ์์น์ ์ง์ํ๋ ๋๊ตฌ ๋ฐ ๊ธฐ์ (์: ๋ชจ๋ธ๋ง ๋๊ตฌ, ํ ์คํธ ํ๋ ์์ํฌ)์ ์ ํํ์ญ์์ค.
์ค์ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ: ๊ธ๋ก๋ฒ ์ฌ๋ก
DDD๋ ๊ธ๋ก๋ฒ ํ๊ฒฝ์์ ํนํ ์ ์ฉํ ์ ์์ต๋๋ค. ๋ค์ ์์๋ค์ ๊ณ ๋ คํด ๋ณด์ธ์:
1. ๊ตญ์ ์ ์์๊ฑฐ๋
์๋๋ฆฌ์ค: ์ฌ๋ฌ ๊ตญ๊ฐ์ ์ ํ์ ํ๋งคํ๋ ๊ธ๋ก๋ฒ ์ ์์๊ฑฐ๋ ํ์ฌ. DDD ์ ์ฉ: '์ ํ ์นดํ๋ก๊ทธ', '์ฃผ๋ฌธ ์ฒ๋ฆฌ', '๊ฒฐ์ ๊ฒ์ดํธ์จ์ด', '๋ฐฐ์ก ๋ฐ ๋ฌผ๋ฅ'์ ๋ํ ๋ฐ์ด๋๋ ์ปจํ ์คํธ. '์ ํ', '์ฃผ๋ฌธ', '๊ณ ๊ฐ', '๊ฒฐ์ ๊ฑฐ๋'์ ๋ํ ์ํฐํฐ. '๊ธ์ก', '์ฃผ์', '๋ ์ง ๋ฒ์'์ ๋ํ ๊ฐ ๊ฐ์ฒด. 'ํตํ ๋ณํ', '์ธ๊ธ ๊ณ์ฐ', '์ฌ๊ธฐ ํ์ง'์ ๋ํ ๋๋ฉ์ธ ์๋น์ค. '์ฃผ๋ฌธ'(์ฃผ๋ฌธ, ์ฃผ๋ฌธ ํญ๋ชฉ, ๋ฐฐ์ก ์ฃผ์, ๊ฒฐ์ ๊ฑฐ๋, ๊ณ ๊ฐ) ๋ฐ '์ ํ'(์ ํ ์์ธ ์ ๋ณด, ์ฌ๊ณ , ๊ฐ๊ฒฉ ์ฑ ์ )๊ณผ ๊ฐ์ ์ ๊ทธ๋ฆฌ๊ฑฐํธ. ์ด์ : ๊ฐ ๊ตญ๊ฐ์ ํน์ ์๊ตฌ ์ฌํญ(์: ์ธ๋ฒ, ๊ฒฐ์ ๋ฐฉ๋ฒ, ๋ฐฐ์ก ๊ท์ )์ ๋ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ฝ๋ ํ์ง, ์ ์ง๋ณด์์ฑ ๋ฐ ์์ฅ๋ณ ์๊ตฌ ์ฌํญ์ ๋ํ ์ ์์ฑ์ด ํฅ์๋ฉ๋๋ค.
2. ๊ธ๋ก๋ฒ ๊ธ์ต ์์คํ
์๋๋ฆฌ์ค: ๋ค๊ตญ์ ๊ธ์ต ๊ธฐ๊ด. DDD ์ ์ฉ: '๊ณ์ ๊ด๋ฆฌ', '๊ฑฐ๋ ์ฒ๋ฆฌ', '๊ท์ ์ค์', '์ํ ๊ด๋ฆฌ'์ ๋ํ ๋ฐ์ด๋๋ ์ปจํ ์คํธ. '๊ณ์ ', '๊ฑฐ๋', '๊ณ ๊ฐ', 'ํฌํธํด๋ฆฌ์ค'์ ๋ํ ์ํฐํฐ. '๊ธ์ก', '๋ ์ง', '์ํ ์ ์'์ ๋ํ ๊ฐ ๊ฐ์ฒด. 'ํตํ ๋ณํ', 'KYC ์ค์', '์ฌ๊ธฐ ํ์ง'์ ๋ํ ๋๋ฉ์ธ ์๋น์ค. '๊ณ์ '(๊ณ์ ์์ธ ์ ๋ณด, ๊ฑฐ๋, ๊ณ ๊ฐ) ๋ฐ '๋์ถ'(๋์ถ ์์ธ ์ ๋ณด, ์ํ, ๋ด๋ณด)์ ๋ํ ์ ๊ทธ๋ฆฌ๊ฑฐํธ. ์ด์ : ์ฌ๋ฌ ๊ตญ๊ฐ์ ๊ฑธ์ณ ๋ค์ํ ํตํ, ๊ท์ ๋ฐ ์ํ ํ๋กํ์ผ์ ๋ ์ ์ฒ๋ฆฌํฉ๋๋ค. ์งํํ๋ ๊ธ์ต ๊ท์ ์ ๋ ์ฝ๊ฒ ์ ์ํ ์ ์์ต๋๋ค.
3. ๊ตญ์ ๋ฌผ๋ฅ ๋ฐ ๊ณต๊ธ๋ง
์๋๋ฆฌ์ค: ์ ์ธ๊ณ์ ์ผ๋ก ์ ์ ์ ๊ด๋ฆฌํ๋ ๊ธ๋ก๋ฒ ๋ฌผ๋ฅ ํ์ฌ. DDD ์ ์ฉ: '์ฃผ๋ฌธ ๊ด๋ฆฌ', '์ฐฝ๊ณ ๊ด๋ฆฌ', '์ด์ก ๊ด๋ฆฌ', '์ธ๊ด ๋ฐ ๊ท์ ์ค์'์ ๋ํ ๋ฐ์ด๋๋ ์ปจํ ์คํธ. '์ ์ ', '์ฐฝ๊ณ ', '์ด์ก์ ์ฒด', '์ธ๊ด ์ ๊ณ ์', '์ ํ', '์ฃผ๋ฌธ'์ ๋ํ ์ํฐํฐ. '์ฃผ์', '๋ฌด๊ฒ', '๋ถํผ'์ ๋ํ ๊ฐ ๊ฐ์ฒด. '๋ฐฐ์ก ๋น์ฉ ๊ณ์ฐ', '์ธ๊ด ์ ๊ณ ์ ์์ฑ', '๊ฒฝ๋ก ์ต์ ํ'์ ๋ํ ๋๋ฉ์ธ ์๋น์ค. '์ ์ '(์ ์ ์์ธ ์ ๋ณด, ํฌ์ฅ, ๊ฒฝ๋ก, ์ด์ก์ ์ฒด) ๋ฐ '์ฃผ๋ฌธ'(์ฃผ๋ฌธ, ์ฃผ๋ฌธ ํญ๋ชฉ, ๋ชฉ์ ์ง, ์ฐ๋ฝ์ฒ, ๋ฐฐ์ก ์ ๋ณด)์ ๋ํ ์ ๊ทธ๋ฆฌ๊ฑฐํธ. ์ด์ : ๋ณต์กํ ๊ตญ์ ๋ฐฐ์ก ๊ท์น, ์ธ๊ด ๊ท์ ๋ฐ ๋ค์ํ ์ด์ก ์ต์ ์ ๋ ์ ์ฒ๋ฆฌํฉ๋๋ค. ๊ฒฝ๋ก๋ฅผ ์ต์ ํํ๊ณ ๋ฐฐ์ก ๋น์ฉ์ ์ค์ด๋ ๋ฅ๋ ฅ์ด ํฅ์๋ฉ๋๋ค.
๊ฒฐ๋ก : ๊ธ๋ก๋ฒ ์ฑ๊ณต์ ์ํ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ์์ฉ
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ๋ ํนํ ๊ธ๋ก๋ฒ ์ด์ ๊ธฐ์ ์ ์ํ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌ์ฑํ๋ ๊ฐ๋ ฅํ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. ํต์ฌ ๋๋ฉ์ธ์ ์ง์คํ๊ณ , ๊ณต์ ์ธ์ด๋ฅผ ์์ฉํ๋ฉฐ, ์ฝ๋๋ฅผ ๋ชจ๋์ ๋ฐฉ์์ผ๋ก ๊ตฌ์กฐํํจ์ผ๋ก์จ ๋ ์ ์ง๋ณด์ ๊ฐ๋ฅํ๊ณ , ์ ์ ๊ฐ๋ฅํ๋ฉฐ, ๊ฒฌ๊ณ ํ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
DDD๋ ํ์ต ๋ฐ ๊ณํ์ ์ด๊ธฐ ํฌ์๊ฐ ํ์ํ์ง๋ง, ํนํ ๊ธ๋ก๋ฒ ๋งฅ๋ฝ์์ ๊ทธ ์ด์ ์ ๋ ธ๋ ฅํ ๊ฐ์น๊ฐ ์ถฉ๋ถํฉ๋๋ค. DDD์ ์์น์ ์ ์ฉํจ์ผ๋ก์จ ์ปค๋ฎค๋์ผ์ด์ , ์ฝ๋ ํ์ง ๋ฐ ๋ฏผ์ฒฉ์ฑ์ ํฅ์์์ผ ๊ถ๊ทน์ ์ผ๋ก ๊ธ๋ก๋ฒ ์์ฅ์์ ๋ ํฐ ์ฑ๊ณต์ ๊ฑฐ๋ ์ ์์ต๋๋ค.
DDD๋ฅผ ์์ฉํ๊ณ ๋์์์ด ์งํํ๋ ๊ธ๋ก๋ฒ ํ๊ฒฝ์์ ๋น์ฆ๋์ค ๋ก์ง์ ์ ์ฌ๋ ฅ์ ๋ฐํํ์ญ์์ค. ๋๋ฉ์ธ์ ์ดํดํ๊ณ , ๋ฐ์ด๋๋ ์ปจํ ์คํธ๋ฅผ ์๋ณํ๋ฉฐ, ํ๊ณผ ๊ณต์ ๋ ์ดํด๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ง์คํ๋ ๊ฒ๋ถํฐ ์์ํ์ญ์์ค. DDD์ ์ด์ ์ ์ค์ ์ ์ด๋ฉฐ, ํ์ฌ๊ฐ ๊ธ๋ก๋ฒ ํ๊ฒฝ์์ ๋ฒ์ฑํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.